package com.zhc.tools.core.fileimport;

import java.util.List;

/**
 * 说明：多线程批量处理任务
 * @author zhc
 */
public interface IProcessorMulti {

	/**
	 * 准备数据
	 * @param strategyContext
	 * @param executeData
	 * @return
	 */
	public boolean preData(StrategyContext strategyContext, List<?> executeData);
	
	/**
	 * 执行数据前，校验数据有效性，整体校验，建议不使用多线程
	 * @param strategyContext
	 * @return
	 */
	public default boolean preExecuteData(StrategyContext strategyContext) {
		return true;
	}

	/**
	 * 处理单条数据
	 * @param strategyContext
	 * @param executeData
	 * @return
	 */
	public boolean executeImport(StrategyContext strategyContext, List<?> executeData);
}
